package com.ruoyi.produce.base.notice.service;

import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.produce.base.notice.domain.Notice;
import com.ruoyi.produce.base.notice.domain.NoticeCond;
import com.ruoyi.produce.base.notice.mapper.NoticeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 布告栏
 * 业务处理
 */
@Service
public class NoticeServiceImpl implements INoticeService{
    @Autowired
    private NoticeMapper noticeMapper;

    /**
     * 根据搜索条件所有布告栏记录
     * @param cond 搜索条件
     * @return
     */
    @Override
    public List<Notice> selectNoticeList(NoticeCond cond) {
        return noticeMapper.selectNoticeList(cond);
    }

    /**
     * 新增布告栏记录
     * @param notice
     * @return
     */
    @Override
    public int insertNotice(Notice notice) {
        if (StringUtils.isNotNull(noticeMapper.selectNoticeById(notice.getIncreasingId()))) {
            //存在
            return 0;
        }
        // 不存在
        return noticeMapper.insertNotice(notice);
    }

    /**
     * 修改布告栏
     * @param notice
     * @return
     */
    @Override
    public int updateNotice(Notice notice) {
        if (!StringUtils.isNotNull(noticeMapper.selectNoticeById(notice.getIncreasingId()))) {
            //不存在
            return 0;
        }
        // 存在
        return noticeMapper.updateNotice(notice);
    }

    /**
     * 删除布告栏记录
     * 仅修改删除标志
     * @param notice
     * @return
     */
    @Override
    public int updateNoticeDeleteFlag(Notice notice) {
        return noticeMapper.updateNoticeDeleteFlag(notice);
    }

    /**
     * 根据类型查看看板的布告栏返回近三天
     * @return
     */
    @Override
    public List<Notice> selectNoticeListForKanBan(String noticeType) {
        return noticeMapper.selectNoticeListForKanBan(noticeType);
    }
}
